; ModuleID = '53is1b7osavsj2gq'
source_filename = "53is1b7osavsj2gq"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"core::fmt::Arguments" = type { [0 x i64], { [0 x { [0 x i8]*, i64 }]*, i64 }, [0 x i64], { i64*, i64 }, [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i64] }
%"unwind::libunwind::_Unwind_Exception" = type { [0 x i64], i64, [0 x i64], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i64], [6 x i64], [0 x i64] }
%"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }

$asan.module_ctor = comdat any

$asan.module_dtor = comdat any

$"vtable.0$82b8e4529ff616006d5c46f802995fa4" = comdat any

$"alloc1$82b8e4529ff616006d5c46f802995fa4" = comdat any

$"alloc2$82b8e4529ff616006d5c46f802995fa4" = comdat any

$"___asan_gen__anon_global$82b8e4529ff616006d5c46f802995fa4" = comdat any

$"alloc6$82b8e4529ff616006d5c46f802995fa4" = comdat any

$"___asan_gen__anon_global.13$82b8e4529ff616006d5c46f802995fa4" = comdat any

@vtable.0 = internal constant { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] } { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h0074fb083e6c4e6eE, i64 8, i64 8, i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E", i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E", i32 (i8**)* @"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb0c85d0849a149d8E" }, [48 x i8] zeroinitializer }, comdat($"vtable.0$82b8e4529ff616006d5c46f802995fa4"), align 32, !dbg !0
@alloc1 = internal constant { <{ [25 x i8] }>, [39 x i8] } { <{ [25 x i8] }> <{ [25 x i8] c"Hello Address Sanitizer!\0A" }>, [39 x i8] zeroinitializer }, comdat($"alloc1$82b8e4529ff616006d5c46f802995fa4"), align 32
@alloc2 = internal constant { <{ i8*, [8 x i8] }>, [48 x i8] } { <{ i8*, [8 x i8] }> <{ i8* getelementptr inbounds ({ <{ [25 x i8] }>, [39 x i8] }, { <{ [25 x i8] }>, [39 x i8] }* @alloc1, i32 0, i32 0, i32 0, i32 0), [8 x i8] c"\19\00\00\00\00\00\00\00" }>, [48 x i8] zeroinitializer }, comdat($"alloc2$82b8e4529ff616006d5c46f802995fa4"), align 32
@___asan_gen__anon_global = internal constant { <{ i8*, [0 x i8] }>, [56 x i8] } { <{ i8*, [0 x i8] }> <{ i8* bitcast ({ <{ i8*, [8 x i8] }>, [48 x i8] }* @alloc2 to i8*), [0 x i8] zeroinitializer }>, [56 x i8] zeroinitializer }, comdat($"___asan_gen__anon_global$82b8e4529ff616006d5c46f802995fa4"), align 32
@alloc6 = internal constant { <{ [0 x i8] }>, [32 x i8] } zeroinitializer, comdat($"alloc6$82b8e4529ff616006d5c46f802995fa4"), align 32
@___asan_gen__anon_global.13 = internal constant { <{ i8*, [0 x i8] }>, [56 x i8] } { <{ i8*, [0 x i8] }> <{ i8* getelementptr inbounds ({ <{ [0 x i8] }>, [32 x i8] }, { <{ [0 x i8] }>, [32 x i8] }* @alloc6, i32 0, i32 0, i32 0, i32 0), [0 x i8] zeroinitializer }>, [56 x i8] zeroinitializer }, comdat($"___asan_gen__anon_global.13$82b8e4529ff616006d5c46f802995fa4"), align 32
@__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
@__asan_option_detect_stack_use_after_return = external global i32
@___asan_gen_ = private unnamed_addr constant [15 x i8] c"1 32 8 5 _7:67\00", align 1
@___asan_gen_.1 = private unnamed_addr constant [67 x i8] c"3 32 16 14 args.dbg.spill 64 16 16 pieces.dbg.spill 96 16 6 _4:328\00", align 1
@___asan_gen_.2 = private unnamed_addr constant [25 x i8] c"2 32 16 4 :232 64 8 2 _1\00", align 1
@___asan_gen_.3 = private unnamed_addr constant [14 x i8] c"1 32 1 4 self\00", align 1
@___asan_gen_.4 = private unnamed_addr constant [15 x i8] c"1 32 48 4 _2:3\00", align 1
@___asan_gen_.5 = private constant [17 x i8] c"53is1b7osavsj2gq\00", align 1
@___asan_gen_.6 = private unnamed_addr constant [9 x i8] c"vtable.0\00", align 1
@___asan_gen_.7 = private unnamed_addr constant [7 x i8] c"alloc1\00", align 1
@___asan_gen_.8 = private unnamed_addr constant [7 x i8] c"alloc2\00", align 1
@___asan_gen_.9 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@___asan_gen_.10 = private unnamed_addr constant [7 x i8] c"alloc6\00", align 1
@___asan_gen_.11 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@__asan_global_vtable.0 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @0 to i64), i64 48, i64 96, i64 ptrtoint ([9 x i8]* @___asan_gen_.6 to i64), i64 ptrtoint ([17 x i8]* @___asan_gen_.5 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"vtable.0$82b8e4529ff616006d5c46f802995fa4"), !associated !14
@__asan_global_alloc1 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ [25 x i8] }>, [39 x i8] }* @1 to i64), i64 25, i64 64, i64 ptrtoint ([7 x i8]* @___asan_gen_.7 to i64), i64 ptrtoint ([17 x i8]* @___asan_gen_.5 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"alloc1$82b8e4529ff616006d5c46f802995fa4"), !associated !15
@__asan_global_alloc2 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ i8*, [8 x i8] }>, [48 x i8] }* @2 to i64), i64 16, i64 64, i64 ptrtoint ([7 x i8]* @___asan_gen_.8 to i64), i64 ptrtoint ([17 x i8]* @___asan_gen_.5 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"alloc2$82b8e4529ff616006d5c46f802995fa4"), !associated !16
@__asan_global_ = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ i8*, [0 x i8] }>, [56 x i8] }* @3 to i64), i64 8, i64 64, i64 ptrtoint ([1 x i8]* @___asan_gen_.9 to i64), i64 ptrtoint ([17 x i8]* @___asan_gen_.5 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"___asan_gen__anon_global$82b8e4529ff616006d5c46f802995fa4"), !associated !17
@__asan_global_alloc6 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ [0 x i8] }>, [32 x i8] }* @4 to i64), i64 0, i64 32, i64 ptrtoint ([7 x i8]* @___asan_gen_.10 to i64), i64 ptrtoint ([17 x i8]* @___asan_gen_.5 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"alloc6$82b8e4529ff616006d5c46f802995fa4"), !associated !18
@__asan_global_.12 = private global { i64, i64, i64, i64, i64, i64, i64, i64 } { i64 ptrtoint ({ <{ i8*, [0 x i8] }>, [56 x i8] }* @5 to i64), i64 8, i64 64, i64 ptrtoint ([1 x i8]* @___asan_gen_.11 to i64), i64 ptrtoint ([17 x i8]* @___asan_gen_.5 to i64), i64 0, i64 0, i64 -1 }, section "asan_globals", comdat($"___asan_gen__anon_global.13$82b8e4529ff616006d5c46f802995fa4"), !associated !19
@llvm.compiler.used = appending global [10 x i8*] [i8* bitcast ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0 to i8*), i8* getelementptr inbounds ({ <{ [25 x i8] }>, [39 x i8] }, { <{ [25 x i8] }>, [39 x i8] }* @alloc1, i32 0, i32 0, i32 0, i32 0), i8* bitcast ({ <{ i8*, [8 x i8] }>, [48 x i8] }* @alloc2 to i8*), i8* getelementptr inbounds ({ <{ [0 x i8] }>, [32 x i8] }, { <{ [0 x i8] }>, [32 x i8] }* @alloc6, i32 0, i32 0, i32 0, i32 0), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_vtable.0 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_alloc1 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_alloc2 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_ to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_alloc6 to i8*), i8* bitcast ({ i64, i64, i64, i64, i64, i64, i64, i64 }* @__asan_global_.12 to i8*)], section "llvm.metadata"
@___asan_globals_registered = common hidden global i64 0
@__start_asan_globals = extern_weak hidden global i64
@__stop_asan_globals = extern_weak hidden global i64
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 1, void ()* @asan.module_ctor, i8* bitcast (void ()* @asan.module_ctor to i8*) }]
@llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 1, void ()* @asan.module_dtor, i8* bitcast (void ()* @asan.module_dtor to i8*) }]

@0 = private alias { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }, { { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0
@1 = private alias { <{ [25 x i8] }>, [39 x i8] }, { <{ [25 x i8] }>, [39 x i8] }* @alloc1
@2 = private alias { <{ i8*, [8 x i8] }>, [48 x i8] }, { <{ i8*, [8 x i8] }>, [48 x i8] }* @alloc2
@3 = private alias { <{ i8*, [0 x i8] }>, [56 x i8] }, { <{ i8*, [0 x i8] }>, [56 x i8] }* @___asan_gen__anon_global
@4 = private alias { <{ [0 x i8] }>, [32 x i8] }, { <{ [0 x i8] }>, [32 x i8] }* @alloc6
@5 = private alias { <{ i8*, [0 x i8] }>, [56 x i8] }, { <{ i8*, [0 x i8] }>, [56 x i8] }* @___asan_gen__anon_global.13

; std::rt::lang_start
; Function Attrs: nonlazybind sanitize_address uwtable
define hidden i64 @_ZN3std2rt10lang_start17h15e9f32ee4291f46E(void ()* nonnull %main, i64 %argc, i8** %argv) unnamed_addr #0 !dbg !44 {
start:
  %argv.dbg.spill = alloca i8**, align 8
  %argc.dbg.spill = alloca i64, align 8
  %main.dbg.spill = alloca void ()*, align 8
  %asan_local_stack_base = alloca i64
  %0 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %1 = icmp ne i32 %0, 0
  br i1 %1, label %2, label %4

2:                                                ; preds = %start
  %3 = call i64 @__asan_stack_malloc_0(i64 64)
  br label %4

4:                                                ; preds = %start, %2
  %5 = phi i64 [ 0, %start ], [ %3, %2 ]
  %6 = icmp eq i64 %5, 0
  br i1 %6, label %7, label %9

7:                                                ; preds = %4
  %MyAlloca = alloca i8, i64 64, align 32
  %8 = ptrtoint i8* %MyAlloca to i64
  br label %9

9:                                                ; preds = %4, %7
  %10 = phi i64 [ %5, %4 ], [ %8, %7 ]
  store i64 %10, i64* %asan_local_stack_base
  %11 = add i64 %10, 32
  %12 = inttoptr i64 %11 to i8**
  %13 = inttoptr i64 %10 to i64*
  store i64 1102416563, i64* %13
  %14 = add i64 %10, 8
  %15 = inttoptr i64 %14 to i64*
  store i64 ptrtoint ([15 x i8]* @___asan_gen_ to i64), i64* %15
  %16 = add i64 %10, 16
  %17 = inttoptr i64 %16 to i64*
  store i64 ptrtoint (i64 (void ()*, i64, i8**)* @_ZN3std2rt10lang_start17h15e9f32ee4291f46E to i64), i64* %17
  %18 = lshr i64 %10, 3
  %19 = add i64 %18, 2147450880
  %20 = add i64 %19, 0
  %21 = inttoptr i64 %20 to i64*
  store i64 -868082052615769615, i64* %21, align 1
  store void ()* %main, void ()** %main.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata void ()** %main.dbg.spill, metadata !52, metadata !DIExpression()), !dbg !58
  store i64 %argc, i64* %argc.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i64* %argc.dbg.spill, metadata !53, metadata !DIExpression()), !dbg !59
  store i8** %argv, i8*** %argv.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %argv.dbg.spill, metadata !54, metadata !DIExpression()), !dbg !60
  %22 = bitcast i8** %12 to i8*, !dbg !61
  %23 = add i64 %19, 4, !dbg !61
  %24 = inttoptr i64 %23 to i8*, !dbg !61
  store i8 0, i8* %24, align 1, !dbg !61
  call void @llvm.lifetime.start.p0i8(i64 8, i8* %22), !dbg !61
  %25 = bitcast i8** %12 to void ()**, !dbg !61
  %26 = ptrtoint void ()** %25 to i64, !dbg !61
  %27 = lshr i64 %26, 3, !dbg !61
  %28 = add i64 %27, 2147450880, !dbg !61
  %29 = inttoptr i64 %28 to i8*, !dbg !61
  %30 = load i8, i8* %29, !dbg !61
  %31 = icmp ne i8 %30, 0, !dbg !61
  br i1 %31, label %32, label %33, !dbg !61

32:                                               ; preds = %9
  call void @__asan_report_store8(i64 %26), !dbg !61
  call void asm sideeffect "", ""(), !dbg !61
  unreachable, !dbg !61

33:                                               ; preds = %9
  store void ()* %main, void ()** %25, align 8, !dbg !61
  %_4.0 = bitcast i8** %12 to {}*, !dbg !62
; call std::rt::lang_start_internal
  %34 = call i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1 %_4.0, [3 x i64]* noalias readonly align 8 dereferenceable(24) bitcast ({ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0 to [3 x i64]*), i64 %argc, i8** %argv), !dbg !63
  br label %bb1, !dbg !63

bb1:                                              ; preds = %33
  %35 = bitcast i8** %12 to i8*, !dbg !64
  %36 = add i64 %19, 4, !dbg !64
  %37 = inttoptr i64 %36 to i8*, !dbg !64
  store i8 -8, i8* %37, align 1, !dbg !64
  call void @llvm.lifetime.end.p0i8(i64 8, i8* %35), !dbg !64
  store i64 1172321806, i64* %13, !dbg !65
  %38 = icmp ne i64 %5, 0, !dbg !65
  br i1 %38, label %39, label %46, !dbg !65

39:                                               ; preds = %bb1
  %40 = add i64 %19, 0, !dbg !65
  %41 = inttoptr i64 %40 to i64*, !dbg !65
  store i64 -723401728380766731, i64* %41, align 1, !dbg !65
  %42 = add i64 %5, 56, !dbg !65
  %43 = inttoptr i64 %42 to i64*, !dbg !65
  %44 = load i64, i64* %43, !dbg !65
  %45 = inttoptr i64 %44 to i8*, !dbg !65
  store i8 0, i8* %45, !dbg !65
  br label %49, !dbg !65

46:                                               ; preds = %bb1
  %47 = add i64 %19, 0, !dbg !65
  %48 = inttoptr i64 %47 to i64*, !dbg !65
  store i64 0, i64* %48, align 1, !dbg !65
  br label %49, !dbg !65

49:                                               ; preds = %46, %39
  ret i64 %34, !dbg !65
}

; std::rt::lang_start::{{closure}}
; Function Attrs: nonlazybind sanitize_address uwtable
define internal i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E"(i8** noalias readonly align 8 dereferenceable(8) %_1) unnamed_addr #0 !dbg !66 {
start:
  %_1.dbg.spill = alloca i8**, align 8
  store i8** %_1, i8*** %_1.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %_1.dbg.spill, metadata !72, metadata !DIExpression(DW_OP_deref)), !dbg !73
  %0 = bitcast i8** %_1 to void ()**, !dbg !74
  %1 = ptrtoint void ()** %0 to i64, !dbg !74
  %2 = lshr i64 %1, 3, !dbg !74
  %3 = add i64 %2, 2147450880, !dbg !74
  %4 = inttoptr i64 %3 to i8*, !dbg !74
  %5 = load i8, i8* %4, !dbg !74
  %6 = icmp ne i8 %5, 0, !dbg !74
  br i1 %6, label %7, label %8, !dbg !74

7:                                                ; preds = %start
  call void @__asan_report_load8(i64 %1), !dbg !74
  call void asm sideeffect "", ""(), !dbg !74
  unreachable, !dbg !74

8:                                                ; preds = %start
  %_3 = load void ()*, void ()** %0, align 8, !dbg !74, !nonnull !4
  call void %_3(), !dbg !74
  br label %bb1, !dbg !74

bb1:                                              ; preds = %8
; call <() as std::process::Termination>::report
  %9 = call i32 @"_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17hf578ed44384d1e36E"(), !dbg !74
  br label %bb2, !dbg !74

bb2:                                              ; preds = %bb1
  ret i32 %9, !dbg !75
}

; std::sys::unix::process::process_common::ExitCode::as_i32
; Function Attrs: inlinehint nonlazybind sanitize_address uwtable
define internal i32 @_ZN3std3sys4unix7process14process_common8ExitCode6as_i3217h399529eb8c2b9b12E(i8* noalias readonly align 1 dereferenceable(1) %self) unnamed_addr #1 !dbg !76 {
start:
  %self.dbg.spill = alloca i8*, align 8
  store i8* %self, i8** %self.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8** %self.dbg.spill, metadata !89, metadata !DIExpression()), !dbg !90
  %0 = ptrtoint i8* %self to i64, !dbg !91
  %1 = lshr i64 %0, 3, !dbg !91
  %2 = add i64 %1, 2147450880, !dbg !91
  %3 = inttoptr i64 %2 to i8*, !dbg !91
  %4 = load i8, i8* %3, !dbg !91
  %5 = icmp ne i8 %4, 0, !dbg !91
  br i1 %5, label %6, label %11, !dbg !91, !prof !92

6:                                                ; preds = %start
  %7 = and i64 %0, 7, !dbg !91
  %8 = trunc i64 %7 to i8, !dbg !91
  %9 = icmp sge i8 %8, %4, !dbg !91
  br i1 %9, label %10, label %11, !dbg !91

10:                                               ; preds = %6
  call void @__asan_report_load1(i64 %0), !dbg !91
  call void asm sideeffect "", ""()
  unreachable

11:                                               ; preds = %6, %start
  %_2 = load i8, i8* %self, align 1, !dbg !91
  %12 = zext i8 %_2 to i32, !dbg !91
  ret i32 %12, !dbg !93
}

; core::fmt::Arguments::new_v1
; Function Attrs: inlinehint nonlazybind sanitize_address uwtable
define internal void @_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %0, [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly align 8 %pieces.0, i64 %pieces.1, [0 x { i8*, i8* }]* noalias nonnull readonly align 8 %args.0, i64 %args.1) unnamed_addr #1 !dbg !94 {
start:
  %asan_local_stack_base = alloca i64
  %1 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %2 = icmp ne i32 %1, 0
  br i1 %2, label %3, label %5

3:                                                ; preds = %start
  %4 = call i64 @__asan_stack_malloc_1(i64 128)
  br label %5

5:                                                ; preds = %start, %3
  %6 = phi i64 [ 0, %start ], [ %4, %3 ]
  %7 = icmp eq i64 %6, 0
  br i1 %7, label %8, label %10

8:                                                ; preds = %5
  %MyAlloca = alloca i8, i64 128, align 32
  %9 = ptrtoint i8* %MyAlloca to i64
  br label %10

10:                                               ; preds = %5, %8
  %11 = phi i64 [ %6, %5 ], [ %9, %8 ]
  store i64 %11, i64* %asan_local_stack_base
  %12 = add i64 %11, 32
  %13 = inttoptr i64 %12 to { [0 x { i8*, i8* }]*, i64 }*
  %14 = add i64 %11, 64
  %15 = inttoptr i64 %14 to { [0 x { [0 x i8]*, i64 }]*, i64 }*
  %16 = add i64 %11, 96
  %17 = inttoptr i64 %16 to { i64*, i64 }*
  %18 = inttoptr i64 %11 to i64*
  store i64 1102416563, i64* %18
  %19 = add i64 %11, 8
  %20 = inttoptr i64 %19 to i64*
  store i64 ptrtoint ([67 x i8]* @___asan_gen_.1 to i64), i64* %20
  %21 = add i64 %11, 16
  %22 = inttoptr i64 %21 to i64*
  store i64 ptrtoint (void (%"core::fmt::Arguments"*, [0 x { [0 x i8]*, i64 }]*, i64, [0 x { i8*, i8* }]*, i64)* @_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E to i64), i64* %22
  %23 = lshr i64 %11, 3
  %24 = add i64 %23, 2147450880
  %25 = add i64 %24, 0
  %26 = inttoptr i64 %25 to i64*
  store i64 -940689368107847183, i64* %26, align 1
  %27 = add i64 %24, 10
  %28 = inttoptr i64 %27 to i32*
  store i32 -117902606, i32* %28, align 1
  %29 = add i64 %24, 14
  %30 = inttoptr i64 %29 to i16*
  store i16 -3085, i16* %30, align 1
  call void @llvm.dbg.declare(metadata i64* %asan_local_stack_base, metadata !207, metadata !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 32)), !dbg !208
  call void @llvm.dbg.declare(metadata i64* %asan_local_stack_base, metadata !206, metadata !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 64)), !dbg !209
  %31 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %15, i32 0, i32 0
  %32 = ptrtoint [0 x { [0 x i8]*, i64 }]** %31 to i64
  %33 = lshr i64 %32, 3
  %34 = add i64 %33, 2147450880
  %35 = inttoptr i64 %34 to i8*
  %36 = load i8, i8* %35
  %37 = icmp ne i8 %36, 0
  br i1 %37, label %38, label %39

38:                                               ; preds = %10
  call void @__asan_report_store8(i64 %32)
  call void asm sideeffect "", ""()
  unreachable

39:                                               ; preds = %10
  store [0 x { [0 x i8]*, i64 }]* %pieces.0, [0 x { [0 x i8]*, i64 }]** %31, align 8
  %40 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %15, i32 0, i32 1
  %41 = ptrtoint i64* %40 to i64
  %42 = lshr i64 %41, 3
  %43 = add i64 %42, 2147450880
  %44 = inttoptr i64 %43 to i8*
  %45 = load i8, i8* %44
  %46 = icmp ne i8 %45, 0
  br i1 %46, label %47, label %48

47:                                               ; preds = %39
  call void @__asan_report_store8(i64 %41)
  call void asm sideeffect "", ""()
  unreachable

48:                                               ; preds = %39
  store i64 %pieces.1, i64* %40, align 8
  %49 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %13, i32 0, i32 0
  %50 = ptrtoint [0 x { i8*, i8* }]** %49 to i64
  %51 = lshr i64 %50, 3
  %52 = add i64 %51, 2147450880
  %53 = inttoptr i64 %52 to i8*
  %54 = load i8, i8* %53
  %55 = icmp ne i8 %54, 0
  br i1 %55, label %56, label %57

56:                                               ; preds = %48
  call void @__asan_report_store8(i64 %50)
  call void asm sideeffect "", ""()
  unreachable

57:                                               ; preds = %48
  store [0 x { i8*, i8* }]* %args.0, [0 x { i8*, i8* }]** %49, align 8
  %58 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %13, i32 0, i32 1
  %59 = ptrtoint i64* %58 to i64
  %60 = lshr i64 %59, 3
  %61 = add i64 %60, 2147450880
  %62 = inttoptr i64 %61 to i8*
  %63 = load i8, i8* %62
  %64 = icmp ne i8 %63, 0
  br i1 %64, label %65, label %66

65:                                               ; preds = %57
  call void @__asan_report_store8(i64 %59)
  call void asm sideeffect "", ""()
  unreachable

66:                                               ; preds = %57
  store i64 %args.1, i64* %58, align 8
  %67 = bitcast { i64*, i64 }* %17 to i8*, !dbg !210
  %68 = add i64 %24, 12, !dbg !210
  %69 = inttoptr i64 %68 to i16*, !dbg !210
  store i16 0, i16* %69, align 1, !dbg !210
  call void @llvm.lifetime.start.p0i8(i64 16, i8* %67), !dbg !210
  %70 = bitcast { i64*, i64 }* %17 to {}**, !dbg !210
  %71 = ptrtoint {}** %70 to i64, !dbg !210
  %72 = lshr i64 %71, 3, !dbg !210
  %73 = add i64 %72, 2147450880, !dbg !210
  %74 = inttoptr i64 %73 to i8*, !dbg !210
  %75 = load i8, i8* %74, !dbg !210
  %76 = icmp ne i8 %75, 0, !dbg !210
  br i1 %76, label %77, label %78, !dbg !210

77:                                               ; preds = %66
  call void @__asan_report_store8(i64 %71), !dbg !210
  call void asm sideeffect "", ""(), !dbg !210
  unreachable, !dbg !210

78:                                               ; preds = %66
  store {}* null, {}** %70, align 8, !dbg !210
  %79 = bitcast %"core::fmt::Arguments"* %0 to { [0 x { [0 x i8]*, i64 }]*, i64 }*, !dbg !211
  %80 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %79, i32 0, i32 0, !dbg !211
  %81 = ptrtoint [0 x { [0 x i8]*, i64 }]** %80 to i64, !dbg !211
  %82 = lshr i64 %81, 3, !dbg !211
  %83 = add i64 %82, 2147450880, !dbg !211
  %84 = inttoptr i64 %83 to i8*, !dbg !211
  %85 = load i8, i8* %84, !dbg !211
  %86 = icmp ne i8 %85, 0, !dbg !211
  br i1 %86, label %87, label %88, !dbg !211

87:                                               ; preds = %78
  call void @__asan_report_store8(i64 %81), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

88:                                               ; preds = %78
  store [0 x { [0 x i8]*, i64 }]* %pieces.0, [0 x { [0 x i8]*, i64 }]** %80, align 8, !dbg !211
  %89 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %79, i32 0, i32 1, !dbg !211
  %90 = ptrtoint i64* %89 to i64, !dbg !211
  %91 = lshr i64 %90, 3, !dbg !211
  %92 = add i64 %91, 2147450880, !dbg !211
  %93 = inttoptr i64 %92 to i8*, !dbg !211
  %94 = load i8, i8* %93, !dbg !211
  %95 = icmp ne i8 %94, 0, !dbg !211
  br i1 %95, label %96, label %97, !dbg !211

96:                                               ; preds = %88
  call void @__asan_report_store8(i64 %90), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

97:                                               ; preds = %88
  store i64 %pieces.1, i64* %89, align 8, !dbg !211
  %98 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 3, !dbg !211
  %99 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %17, i32 0, i32 0, !dbg !211
  %100 = ptrtoint i64** %99 to i64, !dbg !211
  %101 = lshr i64 %100, 3, !dbg !211
  %102 = add i64 %101, 2147450880, !dbg !211
  %103 = inttoptr i64 %102 to i8*, !dbg !211
  %104 = load i8, i8* %103, !dbg !211
  %105 = icmp ne i8 %104, 0, !dbg !211
  br i1 %105, label %106, label %107, !dbg !211

106:                                              ; preds = %97
  call void @__asan_report_load8(i64 %100), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

107:                                              ; preds = %97
  %108 = load i64*, i64** %99, align 8, !dbg !211
  %109 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %17, i32 0, i32 1, !dbg !211
  %110 = ptrtoint i64* %109 to i64, !dbg !211
  %111 = lshr i64 %110, 3, !dbg !211
  %112 = add i64 %111, 2147450880, !dbg !211
  %113 = inttoptr i64 %112 to i8*, !dbg !211
  %114 = load i8, i8* %113, !dbg !211
  %115 = icmp ne i8 %114, 0, !dbg !211
  br i1 %115, label %116, label %117, !dbg !211

116:                                              ; preds = %107
  call void @__asan_report_load8(i64 %110), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

117:                                              ; preds = %107
  %118 = load i64, i64* %109, align 8, !dbg !211
  %119 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %98, i32 0, i32 0, !dbg !211
  %120 = ptrtoint i64** %119 to i64, !dbg !211
  %121 = lshr i64 %120, 3, !dbg !211
  %122 = add i64 %121, 2147450880, !dbg !211
  %123 = inttoptr i64 %122 to i8*, !dbg !211
  %124 = load i8, i8* %123, !dbg !211
  %125 = icmp ne i8 %124, 0, !dbg !211
  br i1 %125, label %126, label %127, !dbg !211

126:                                              ; preds = %117
  call void @__asan_report_store8(i64 %120), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

127:                                              ; preds = %117
  store i64* %108, i64** %119, align 8, !dbg !211
  %128 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %98, i32 0, i32 1, !dbg !211
  %129 = ptrtoint i64* %128 to i64, !dbg !211
  %130 = lshr i64 %129, 3, !dbg !211
  %131 = add i64 %130, 2147450880, !dbg !211
  %132 = inttoptr i64 %131 to i8*, !dbg !211
  %133 = load i8, i8* %132, !dbg !211
  %134 = icmp ne i8 %133, 0, !dbg !211
  br i1 %134, label %135, label %136, !dbg !211

135:                                              ; preds = %127
  call void @__asan_report_store8(i64 %129), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

136:                                              ; preds = %127
  store i64 %118, i64* %128, align 8, !dbg !211
  %137 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 5, !dbg !211
  %138 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %137, i32 0, i32 0, !dbg !211
  %139 = ptrtoint [0 x { i8*, i8* }]** %138 to i64, !dbg !211
  %140 = lshr i64 %139, 3, !dbg !211
  %141 = add i64 %140, 2147450880, !dbg !211
  %142 = inttoptr i64 %141 to i8*, !dbg !211
  %143 = load i8, i8* %142, !dbg !211
  %144 = icmp ne i8 %143, 0, !dbg !211
  br i1 %144, label %145, label %146, !dbg !211

145:                                              ; preds = %136
  call void @__asan_report_store8(i64 %139), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

146:                                              ; preds = %136
  store [0 x { i8*, i8* }]* %args.0, [0 x { i8*, i8* }]** %138, align 8, !dbg !211
  %147 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %137, i32 0, i32 1, !dbg !211
  %148 = ptrtoint i64* %147 to i64, !dbg !211
  %149 = lshr i64 %148, 3, !dbg !211
  %150 = add i64 %149, 2147450880, !dbg !211
  %151 = inttoptr i64 %150 to i8*, !dbg !211
  %152 = load i8, i8* %151, !dbg !211
  %153 = icmp ne i8 %152, 0, !dbg !211
  br i1 %153, label %154, label %155, !dbg !211

154:                                              ; preds = %146
  call void @__asan_report_store8(i64 %148), !dbg !211
  call void asm sideeffect "", ""(), !dbg !211
  unreachable, !dbg !211

155:                                              ; preds = %146
  store i64 %args.1, i64* %147, align 8, !dbg !211
  %156 = bitcast { i64*, i64 }* %17 to i8*, !dbg !212
  %157 = add i64 %24, 12, !dbg !212
  %158 = inttoptr i64 %157 to i16*, !dbg !212
  store i16 -1800, i16* %158, align 1, !dbg !212
  call void @llvm.lifetime.end.p0i8(i64 16, i8* %156), !dbg !212
  store i64 1172321806, i64* %18, !dbg !213
  %159 = icmp ne i64 %6, 0, !dbg !213
  br i1 %159, label %160, label %169, !dbg !213

160:                                              ; preds = %155
  %161 = add i64 %24, 0, !dbg !213
  %162 = inttoptr i64 %161 to i64*, !dbg !213
  store i64 -723401728380766731, i64* %162, align 1, !dbg !213
  %163 = add i64 %24, 8, !dbg !213
  %164 = inttoptr i64 %163 to i64*, !dbg !213
  store i64 -723401728380766731, i64* %164, align 1, !dbg !213
  %165 = add i64 %6, 120, !dbg !213
  %166 = inttoptr i64 %165 to i64*, !dbg !213
  %167 = load i64, i64* %166, !dbg !213
  %168 = inttoptr i64 %167 to i8*, !dbg !213
  store i8 0, i8* %168, !dbg !213
  br label %176, !dbg !213

169:                                              ; preds = %155
  %170 = add i64 %24, 0, !dbg !213
  %171 = inttoptr i64 %170 to i64*, !dbg !213
  store i64 0, i64* %171, align 1, !dbg !213
  %172 = add i64 %24, 10, !dbg !213
  %173 = inttoptr i64 %172 to i32*, !dbg !213
  store i32 0, i32* %173, align 1, !dbg !213
  %174 = add i64 %24, 14, !dbg !213
  %175 = inttoptr i64 %174 to i16*, !dbg !213
  store i16 0, i16* %175, align 1, !dbg !213
  br label %176, !dbg !213

176:                                              ; preds = %169, %160
  ret void, !dbg !213
}

; core::ops::function::FnOnce::call_once{{vtable.shim}}
; Function Attrs: nonlazybind sanitize_address uwtable
define internal i32 @"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb0c85d0849a149d8E"(i8** %_1) unnamed_addr #0 !dbg !214 {
start:
  %_1.dbg.spill = alloca i8**, align 8
  %_2 = alloca {}, align 1
  store i8** %_1, i8*** %_1.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %_1.dbg.spill, metadata !223, metadata !DIExpression()), !dbg !228
  call void @llvm.dbg.declare(metadata {}* %_2, metadata !224, metadata !DIExpression()), !dbg !228
  %0 = ptrtoint i8** %_1 to i64, !dbg !228
  %1 = lshr i64 %0, 3, !dbg !228
  %2 = add i64 %1, 2147450880, !dbg !228
  %3 = inttoptr i64 %2 to i8*, !dbg !228
  %4 = load i8, i8* %3, !dbg !228
  %5 = icmp ne i8 %4, 0, !dbg !228
  br i1 %5, label %6, label %7, !dbg !228

6:                                                ; preds = %start
  call void @__asan_report_load8(i64 %0), !dbg !228
  call void asm sideeffect "", ""(), !dbg !228
  unreachable, !dbg !228

7:                                                ; preds = %start
  %8 = load i8*, i8** %_1, align 8, !dbg !228, !nonnull !4
; call core::ops::function::FnOnce::call_once
  %9 = call i32 @_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE(i8* nonnull %8), !dbg !228
  br label %bb1, !dbg !228

bb1:                                              ; preds = %7
  ret i32 %9, !dbg !228
}

; core::ops::function::FnOnce::call_once
; Function Attrs: nonlazybind sanitize_address uwtable
define internal i32 @_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE(i8* nonnull %0) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !229 {
start:
  %_2 = alloca {}, align 1
  %asan_local_stack_base = alloca i64
  %1 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %2 = icmp ne i32 %1, 0
  br i1 %2, label %3, label %5

3:                                                ; preds = %start
  %4 = call i64 @__asan_stack_malloc_1(i64 96)
  br label %5

5:                                                ; preds = %start, %3
  %6 = phi i64 [ 0, %start ], [ %4, %3 ]
  %7 = icmp eq i64 %6, 0
  br i1 %7, label %8, label %10

8:                                                ; preds = %5
  %MyAlloca = alloca i8, i64 96, align 32
  %9 = ptrtoint i8* %MyAlloca to i64
  br label %10

10:                                               ; preds = %5, %8
  %11 = phi i64 [ %6, %5 ], [ %9, %8 ]
  store i64 %11, i64* %asan_local_stack_base
  %12 = add i64 %11, 32
  %13 = inttoptr i64 %12 to { i8*, i32 }*
  %14 = add i64 %11, 64
  %15 = inttoptr i64 %14 to i8**
  %16 = inttoptr i64 %11 to i64*
  store i64 1102416563, i64* %16
  %17 = add i64 %11, 8
  %18 = inttoptr i64 %17 to i64*
  store i64 ptrtoint ([25 x i8]* @___asan_gen_.2 to i64), i64* %18
  %19 = add i64 %11, 16
  %20 = inttoptr i64 %19 to i64*
  store i64 ptrtoint (i32 (i8*)* @_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE to i64), i64* %20
  %21 = lshr i64 %11, 3
  %22 = add i64 %21, 2147450880
  %23 = add i64 %22, 0
  %24 = inttoptr i64 %23 to i64*
  store i64 -940415624072269327, i64* %24, align 1
  %25 = add i64 %22, 9
  %26 = inttoptr i64 %25 to i16*
  store i16 -3085, i16* %26, align 1
  %27 = add i64 %22, 11
  %28 = inttoptr i64 %27 to i8*
  store i8 -13, i8* %28, align 1
  call void @llvm.dbg.declare(metadata i64* %asan_local_stack_base, metadata !233, metadata !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 64)), !dbg !235
  %29 = ptrtoint i8** %15 to i64
  %30 = lshr i64 %29, 3
  %31 = add i64 %30, 2147450880
  %32 = inttoptr i64 %31 to i8*
  %33 = load i8, i8* %32
  %34 = icmp ne i8 %33, 0
  br i1 %34, label %35, label %36

35:                                               ; preds = %10
  call void @__asan_report_store8(i64 %29)
  call void asm sideeffect "", ""()
  unreachable

36:                                               ; preds = %10
  store i8* %0, i8** %15, align 8
  call void @llvm.dbg.declare(metadata {}* %_2, metadata !234, metadata !DIExpression()), !dbg !235
; invoke std::rt::lang_start::{{closure}}
  %37 = invoke i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E"(i8** noalias readonly align 8 dereferenceable(8) %15)
          to label %bb1 unwind label %cleanup, !dbg !235

bb1:                                              ; preds = %36
  br label %bb2, !dbg !235

bb2:                                              ; preds = %bb1
  store i64 1172321806, i64* %16, !dbg !235
  %38 = icmp ne i64 %6, 0, !dbg !235
  br i1 %38, label %39, label %48, !dbg !235

39:                                               ; preds = %bb2
  %40 = add i64 %22, 0, !dbg !235
  %41 = inttoptr i64 %40 to i64*, !dbg !235
  store i64 -723401728380766731, i64* %41, align 1, !dbg !235
  %42 = add i64 %22, 8, !dbg !235
  %43 = inttoptr i64 %42 to i64*, !dbg !235
  store i64 -723401728380766731, i64* %43, align 1, !dbg !235
  %44 = add i64 %6, 120, !dbg !235
  %45 = inttoptr i64 %44 to i64*, !dbg !235
  %46 = load i64, i64* %45, !dbg !235
  %47 = inttoptr i64 %46 to i8*, !dbg !235
  store i8 0, i8* %47, !dbg !235
  br label %55, !dbg !235

48:                                               ; preds = %bb2
  %49 = add i64 %22, 0, !dbg !235
  %50 = inttoptr i64 %49 to i64*, !dbg !235
  store i64 0, i64* %50, align 1, !dbg !235
  %51 = add i64 %22, 9, !dbg !235
  %52 = inttoptr i64 %51 to i16*, !dbg !235
  store i16 0, i16* %52, align 1, !dbg !235
  %53 = add i64 %22, 11, !dbg !235
  %54 = inttoptr i64 %53 to i8*, !dbg !235
  store i8 0, i8* %54, align 1, !dbg !235
  br label %55, !dbg !235

55:                                               ; preds = %48, %39
  ret i32 %37, !dbg !235

bb3:                                              ; preds = %132
  br label %bb4, !dbg !235

bb4:                                              ; preds = %bb3
  %56 = bitcast { i8*, i32 }* %13 to i8**, !dbg !235
  %57 = ptrtoint i8** %56 to i64, !dbg !235
  %58 = lshr i64 %57, 3, !dbg !235
  %59 = add i64 %58, 2147450880, !dbg !235
  %60 = inttoptr i64 %59 to i8*, !dbg !235
  %61 = load i8, i8* %60, !dbg !235
  %62 = icmp ne i8 %61, 0, !dbg !235
  br i1 %62, label %63, label %64, !dbg !235

63:                                               ; preds = %bb4
  call void @__asan_report_load8(i64 %57), !dbg !235
  call void asm sideeffect "", ""(), !dbg !235
  unreachable, !dbg !235

64:                                               ; preds = %bb4
  %65 = load i8*, i8** %56, align 8, !dbg !235
  %66 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %13, i32 0, i32 1, !dbg !235
  %67 = ptrtoint i32* %66 to i64, !dbg !235
  %68 = lshr i64 %67, 3, !dbg !235
  %69 = add i64 %68, 2147450880, !dbg !235
  %70 = inttoptr i64 %69 to i8*, !dbg !235
  %71 = load i8, i8* %70, !dbg !235
  %72 = icmp ne i8 %71, 0, !dbg !235
  br i1 %72, label %73, label %79, !dbg !235, !prof !92

73:                                               ; preds = %64
  %74 = and i64 %67, 7, !dbg !235
  %75 = add i64 %74, 3, !dbg !235
  %76 = trunc i64 %75 to i8, !dbg !235
  %77 = icmp sge i8 %76, %71, !dbg !235
  br i1 %77, label %78, label %79, !dbg !235

78:                                               ; preds = %73
  call void @__asan_report_load4(i64 %67), !dbg !235
  call void asm sideeffect "", ""()
  unreachable

79:                                               ; preds = %73, %64
  %80 = load i32, i32* %66, align 8, !dbg !235
  %81 = bitcast { i8*, i32 }* %13 to i8*, !dbg !235
  %82 = add i64 %22, 4, !dbg !235
  %83 = inttoptr i64 %82 to i16*, !dbg !235
  store i16 -1800, i16* %83, align 1, !dbg !235
  call void @llvm.lifetime.end.p0i8(i64 16, i8* %81), !dbg !235
  %84 = insertvalue { i8*, i32 } undef, i8* %65, 0, !dbg !235
  %85 = insertvalue { i8*, i32 } %84, i32 %80, 1, !dbg !235
  store i64 1172321806, i64* %16, !dbg !235
  %86 = icmp ne i64 %6, 0, !dbg !235
  br i1 %86, label %87, label %96, !dbg !235

87:                                               ; preds = %79
  %88 = add i64 %22, 0, !dbg !235
  %89 = inttoptr i64 %88 to i64*, !dbg !235
  store i64 -723401728380766731, i64* %89, align 1, !dbg !235
  %90 = add i64 %22, 8, !dbg !235
  %91 = inttoptr i64 %90 to i64*, !dbg !235
  store i64 -723401728380766731, i64* %91, align 1, !dbg !235
  %92 = add i64 %6, 120, !dbg !235
  %93 = inttoptr i64 %92 to i64*, !dbg !235
  %94 = load i64, i64* %93, !dbg !235
  %95 = inttoptr i64 %94 to i8*, !dbg !235
  store i8 0, i8* %95, !dbg !235
  br label %103, !dbg !235

96:                                               ; preds = %79
  %97 = add i64 %22, 0, !dbg !235
  %98 = inttoptr i64 %97 to i64*, !dbg !235
  store i64 0, i64* %98, align 1, !dbg !235
  %99 = add i64 %22, 9, !dbg !235
  %100 = inttoptr i64 %99 to i16*, !dbg !235
  store i16 0, i16* %100, align 1, !dbg !235
  %101 = add i64 %22, 11, !dbg !235
  %102 = inttoptr i64 %101 to i8*, !dbg !235
  store i8 0, i8* %102, align 1, !dbg !235
  br label %103, !dbg !235

103:                                              ; preds = %96, %87
  resume { i8*, i32 } %85, !dbg !235

cleanup:                                          ; preds = %36
  %104 = landingpad { i8*, i32 }
          cleanup
  %105 = bitcast { i8*, i32 }* %13 to i8*
  %106 = add i64 %22, 4
  %107 = inttoptr i64 %106 to i16*
  store i16 0, i16* %107, align 1
  call void @llvm.lifetime.start.p0i8(i64 16, i8* %105)
  %108 = extractvalue { i8*, i32 } %104, 0
  %109 = extractvalue { i8*, i32 } %104, 1
  %110 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %13, i32 0, i32 0
  %111 = ptrtoint i8** %110 to i64
  %112 = lshr i64 %111, 3
  %113 = add i64 %112, 2147450880
  %114 = inttoptr i64 %113 to i8*
  %115 = load i8, i8* %114
  %116 = icmp ne i8 %115, 0
  br i1 %116, label %117, label %118

117:                                              ; preds = %cleanup
  call void @__asan_report_store8(i64 %111)
  call void asm sideeffect "", ""()
  unreachable

118:                                              ; preds = %cleanup
  store i8* %108, i8** %110, align 8
  %119 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %13, i32 0, i32 1
  %120 = ptrtoint i32* %119 to i64
  %121 = lshr i64 %120, 3
  %122 = add i64 %121, 2147450880
  %123 = inttoptr i64 %122 to i8*
  %124 = load i8, i8* %123
  %125 = icmp ne i8 %124, 0
  br i1 %125, label %126, label %132, !prof !92

126:                                              ; preds = %118
  %127 = and i64 %120, 7
  %128 = add i64 %127, 3
  %129 = trunc i64 %128 to i8
  %130 = icmp sge i8 %129, %124
  br i1 %130, label %131, label %132

131:                                              ; preds = %126
  call void @__asan_report_store4(i64 %120)
  call void asm sideeffect "", ""()
  unreachable

132:                                              ; preds = %126, %118
  store i32 %109, i32* %119, align 8
  br label %bb3
}

; core::ptr::drop_in_place
; Function Attrs: nonlazybind sanitize_address uwtable
define internal void @_ZN4core3ptr13drop_in_place17h0074fb083e6c4e6eE(i8** %_1) unnamed_addr #0 !dbg !236 {
start:
  %_1.dbg.spill = alloca i8**, align 8
  %0 = alloca {}, align 1
  store i8** %_1, i8*** %_1.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %_1.dbg.spill, metadata !242, metadata !DIExpression()), !dbg !245
  ret void, !dbg !245
}

; <() as std::process::Termination>::report
; Function Attrs: inlinehint nonlazybind sanitize_address uwtable
define internal i32 @"_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17hf578ed44384d1e36E"() unnamed_addr #1 !dbg !246 {
start:
  %self.dbg.spill = alloca {}, align 1
  call void @llvm.dbg.declare(metadata {}* %self.dbg.spill, metadata !253, metadata !DIExpression()), !dbg !254
; call <std::process::ExitCode as std::process::Termination>::report
  %0 = call i32 @"_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE"(i8 0), !dbg !255
  br label %bb1, !dbg !255

bb1:                                              ; preds = %start
  ret i32 %0, !dbg !256
}

; <std::process::ExitCode as std::process::Termination>::report
; Function Attrs: inlinehint nonlazybind sanitize_address uwtable
define internal i32 @"_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE"(i8 %0) unnamed_addr #1 !dbg !257 {
start:
  %asan_local_stack_base = alloca i64
  %1 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %2 = icmp ne i32 %1, 0
  br i1 %2, label %3, label %5

3:                                                ; preds = %start
  %4 = call i64 @__asan_stack_malloc_0(i64 64)
  br label %5

5:                                                ; preds = %start, %3
  %6 = phi i64 [ 0, %start ], [ %4, %3 ]
  %7 = icmp eq i64 %6, 0
  br i1 %7, label %8, label %10

8:                                                ; preds = %5
  %MyAlloca = alloca i8, i64 64, align 32
  %9 = ptrtoint i8* %MyAlloca to i64
  br label %10

10:                                               ; preds = %5, %8
  %11 = phi i64 [ %6, %5 ], [ %9, %8 ]
  store i64 %11, i64* %asan_local_stack_base
  %12 = add i64 %11, 32
  %13 = inttoptr i64 %12 to i8*
  %14 = inttoptr i64 %11 to i64*
  store i64 1102416563, i64* %14
  %15 = add i64 %11, 8
  %16 = inttoptr i64 %15 to i64*
  store i64 ptrtoint ([14 x i8]* @___asan_gen_.3 to i64), i64* %16
  %17 = add i64 %11, 16
  %18 = inttoptr i64 %17 to i64*
  store i64 ptrtoint (i32 (i8)* @"_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE" to i64), i64* %18
  %19 = lshr i64 %11, 3
  %20 = add i64 %19, 2147450880
  %21 = add i64 %20, 0
  %22 = inttoptr i64 %21 to i64*
  store i64 -868083113472691727, i64* %22, align 1
  call void @llvm.dbg.declare(metadata i64* %asan_local_stack_base, metadata !264, metadata !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 32)), !dbg !265
  %23 = ptrtoint i8* %13 to i64
  %24 = lshr i64 %23, 3
  %25 = add i64 %24, 2147450880
  %26 = inttoptr i64 %25 to i8*
  %27 = load i8, i8* %26
  %28 = icmp ne i8 %27, 0
  br i1 %28, label %29, label %34, !prof !92

29:                                               ; preds = %10
  %30 = and i64 %23, 7
  %31 = trunc i64 %30 to i8
  %32 = icmp sge i8 %31, %27
  br i1 %32, label %33, label %34

33:                                               ; preds = %29
  call void @__asan_report_store1(i64 %23)
  call void asm sideeffect "", ""()
  unreachable

34:                                               ; preds = %29, %10
  store i8 %0, i8* %13, align 1
; call std::sys::unix::process::process_common::ExitCode::as_i32
  %35 = call i32 @_ZN3std3sys4unix7process14process_common8ExitCode6as_i3217h399529eb8c2b9b12E(i8* noalias readonly align 1 dereferenceable(1) %13), !dbg !266
  br label %bb1, !dbg !266

bb1:                                              ; preds = %34
  store i64 1172321806, i64* %14, !dbg !267
  %36 = icmp ne i64 %6, 0, !dbg !267
  br i1 %36, label %37, label %44, !dbg !267

37:                                               ; preds = %bb1
  %38 = add i64 %20, 0, !dbg !267
  %39 = inttoptr i64 %38 to i64*, !dbg !267
  store i64 -723401728380766731, i64* %39, align 1, !dbg !267
  %40 = add i64 %6, 56, !dbg !267
  %41 = inttoptr i64 %40 to i64*, !dbg !267
  %42 = load i64, i64* %41, !dbg !267
  %43 = inttoptr i64 %42 to i8*, !dbg !267
  store i8 0, i8* %43, !dbg !267
  br label %47, !dbg !267

44:                                               ; preds = %bb1
  %45 = add i64 %20, 0, !dbg !267
  %46 = inttoptr i64 %45 to i64*, !dbg !267
  store i64 0, i64* %46, align 1, !dbg !267
  br label %47, !dbg !267

47:                                               ; preds = %44, %37
  ret i32 %35, !dbg !267
}

; empty::main
; Function Attrs: nonlazybind sanitize_address uwtable
define internal void @_ZN5empty4main17hcfd8d79313798e06E() unnamed_addr #0 !dbg !268 {
start:
  %asan_local_stack_base = alloca i64
  %0 = load i32, i32* @__asan_option_detect_stack_use_after_return
  %1 = icmp ne i32 %0, 0
  br i1 %1, label %2, label %4

2:                                                ; preds = %start
  %3 = call i64 @__asan_stack_malloc_1(i64 128)
  br label %4

4:                                                ; preds = %start, %2
  %5 = phi i64 [ 0, %start ], [ %3, %2 ]
  %6 = icmp eq i64 %5, 0
  br i1 %6, label %7, label %9

7:                                                ; preds = %4
  %MyAlloca = alloca i8, i64 128, align 32
  %8 = ptrtoint i8* %MyAlloca to i64
  br label %9

9:                                                ; preds = %4, %7
  %10 = phi i64 [ %5, %4 ], [ %8, %7 ]
  store i64 %10, i64* %asan_local_stack_base
  %11 = add i64 %10, 32
  %12 = inttoptr i64 %11 to %"core::fmt::Arguments"*
  %13 = inttoptr i64 %10 to i64*
  store i64 1102416563, i64* %13
  %14 = add i64 %10, 8
  %15 = inttoptr i64 %14 to i64*
  store i64 ptrtoint ([15 x i8]* @___asan_gen_.4 to i64), i64* %15
  %16 = add i64 %10, 16
  %17 = inttoptr i64 %16 to i64*
  store i64 ptrtoint (void ()* @_ZN5empty4main17hcfd8d79313798e06E to i64), i64* %17
  %18 = lshr i64 %10, 3
  %19 = add i64 %18, 2147450880
  %20 = add i64 %19, 0
  %21 = inttoptr i64 %20 to i64*
  store i64 -506381209984437775, i64* %21, align 1
  %22 = add i64 %19, 8
  %23 = inttoptr i64 %22 to i64*
  store i64 -868082074056918792, i64* %23, align 1
  %24 = bitcast %"core::fmt::Arguments"* %12 to i8*, !dbg !271
  %25 = add i64 %19, 4, !dbg !271
  %26 = inttoptr i64 %25 to i32*, !dbg !271
  store i32 0, i32* %26, align 1, !dbg !271
  %27 = add i64 %19, 8, !dbg !271
  %28 = inttoptr i64 %27 to i16*, !dbg !271
  store i16 0, i16* %28, align 1, !dbg !271
  call void @llvm.lifetime.start.p0i8(i64 48, i8* %24), !dbg !271
  %_10 = load [1 x { [0 x i8]*, i64 }]*, [1 x { [0 x i8]*, i64 }]** bitcast ({ <{ i8*, [0 x i8] }>, [56 x i8] }* @___asan_gen__anon_global to [1 x { [0 x i8]*, i64 }]**), align 8, !dbg !272, !nonnull !4
  %_3.0 = bitcast [1 x { [0 x i8]*, i64 }]* %_10 to [0 x { [0 x i8]*, i64 }]*, !dbg !272
  %_9 = load [0 x { i8*, i8* }]*, [0 x { i8*, i8* }]** bitcast ({ <{ i8*, [0 x i8] }>, [56 x i8] }* @___asan_gen__anon_global.13 to [0 x { i8*, i8* }]**), align 8, !dbg !271, !nonnull !4
; call core::fmt::Arguments::new_v1
  call void @_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %12, [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly align 8 %_3.0, i64 1, [0 x { i8*, i8* }]* noalias nonnull readonly align 8 %_9, i64 0), !dbg !271
  br label %bb1, !dbg !271

bb1:                                              ; preds = %9
; call std::io::stdio::_print
  call void @_ZN3std2io5stdio6_print17h35ebd65662fa8b15E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48) %12), !dbg !271
  br label %bb2, !dbg !271

bb2:                                              ; preds = %bb1
  %29 = bitcast %"core::fmt::Arguments"* %12 to i8*, !dbg !271
  %30 = add i64 %19, 4, !dbg !271
  %31 = inttoptr i64 %30 to i32*, !dbg !271
  store i32 -117901064, i32* %31, align 1, !dbg !271
  %32 = add i64 %19, 8, !dbg !271
  %33 = inttoptr i64 %32 to i16*, !dbg !271
  store i16 -1800, i16* %33, align 1, !dbg !271
  call void @llvm.lifetime.end.p0i8(i64 48, i8* %29), !dbg !271
  store i64 1172321806, i64* %13, !dbg !273
  %34 = icmp ne i64 %5, 0, !dbg !273
  br i1 %34, label %35, label %44, !dbg !273

35:                                               ; preds = %bb2
  %36 = add i64 %19, 0, !dbg !273
  %37 = inttoptr i64 %36 to i64*, !dbg !273
  store i64 -723401728380766731, i64* %37, align 1, !dbg !273
  %38 = add i64 %19, 8, !dbg !273
  %39 = inttoptr i64 %38 to i64*, !dbg !273
  store i64 -723401728380766731, i64* %39, align 1, !dbg !273
  %40 = add i64 %5, 120, !dbg !273
  %41 = inttoptr i64 %40 to i64*, !dbg !273
  %42 = load i64, i64* %41, !dbg !273
  %43 = inttoptr i64 %42 to i8*, !dbg !273
  store i8 0, i8* %43, !dbg !273
  br label %49, !dbg !273

44:                                               ; preds = %bb2
  %45 = add i64 %19, 0, !dbg !273
  %46 = inttoptr i64 %45 to i64*, !dbg !273
  store i64 0, i64* %46, align 1, !dbg !273
  %47 = add i64 %19, 8, !dbg !273
  %48 = inttoptr i64 %47 to i64*, !dbg !273
  store i64 0, i64* %48, align 1, !dbg !273
  br label %49, !dbg !273

49:                                               ; preds = %44, %35
  ret void, !dbg !273
}

; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #3

; std::rt::lang_start_internal
; Function Attrs: nonlazybind sanitize_address uwtable
declare i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1, [3 x i64]* noalias readonly align 8 dereferenceable(24), i64, i8**) unnamed_addr #0

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #3

; Function Attrs: nounwind nonlazybind sanitize_address uwtable
declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #4

; std::io::stdio::_print
; Function Attrs: nonlazybind sanitize_address uwtable
declare void @_ZN3std2io5stdio6_print17h35ebd65662fa8b15E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48)) unnamed_addr #0

; Function Attrs: nonlazybind sanitize_address
define i32 @main(i32 %0, i8** %1) unnamed_addr #5 {
top:
  %2 = load volatile i8, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__rustc_debug_gdb_scripts_section__, i32 0, i32 0), align 1
  %3 = sext i32 %0 to i64
; call std::rt::lang_start
  %4 = call i64 @_ZN3std2rt10lang_start17h15e9f32ee4291f46E(void ()* @_ZN5empty4main17hcfd8d79313798e06E, i64 %3, i8** %1)
  %5 = trunc i64 %4 to i32
  ret i32 %5
}

declare void @__asan_report_load_n(i64, i64)

declare void @__asan_loadN(i64, i64)

declare void @__asan_report_load1(i64)

declare void @__asan_load1(i64)

declare void @__asan_report_load2(i64)

declare void @__asan_load2(i64)

declare void @__asan_report_load4(i64)

declare void @__asan_load4(i64)

declare void @__asan_report_load8(i64)

declare void @__asan_load8(i64)

declare void @__asan_report_load16(i64)

declare void @__asan_load16(i64)

declare void @__asan_report_store_n(i64, i64)

declare void @__asan_storeN(i64, i64)

declare void @__asan_report_store1(i64)

declare void @__asan_store1(i64)

declare void @__asan_report_store2(i64)

declare void @__asan_store2(i64)

declare void @__asan_report_store4(i64)

declare void @__asan_store4(i64)

declare void @__asan_report_store8(i64)

declare void @__asan_store8(i64)

declare void @__asan_report_store16(i64)

declare void @__asan_store16(i64)

declare void @__asan_report_exp_load_n(i64, i64, i32)

declare void @__asan_exp_loadN(i64, i64, i32)

declare void @__asan_report_exp_load1(i64, i32)

declare void @__asan_exp_load1(i64, i32)

declare void @__asan_report_exp_load2(i64, i32)

declare void @__asan_exp_load2(i64, i32)

declare void @__asan_report_exp_load4(i64, i32)

declare void @__asan_exp_load4(i64, i32)

declare void @__asan_report_exp_load8(i64, i32)

declare void @__asan_exp_load8(i64, i32)

declare void @__asan_report_exp_load16(i64, i32)

declare void @__asan_exp_load16(i64, i32)

declare void @__asan_report_exp_store_n(i64, i64, i32)

declare void @__asan_exp_storeN(i64, i64, i32)

declare void @__asan_report_exp_store1(i64, i32)

declare void @__asan_exp_store1(i64, i32)

declare void @__asan_report_exp_store2(i64, i32)

declare void @__asan_exp_store2(i64, i32)

declare void @__asan_report_exp_store4(i64, i32)

declare void @__asan_exp_store4(i64, i32)

declare void @__asan_report_exp_store8(i64, i32)

declare void @__asan_exp_store8(i64, i32)

declare void @__asan_report_exp_store16(i64, i32)

declare void @__asan_exp_store16(i64, i32)

declare i8* @__asan_memmove(i8*, i8*, i64)

declare i8* @__asan_memcpy(i8*, i8*, i64)

declare i8* @__asan_memset(i8*, i32, i64)

declare void @__asan_handle_no_return()

declare void @__sanitizer_ptr_cmp(i64, i64)

declare void @__sanitizer_ptr_sub(i64, i64)

declare i64 @__asan_stack_malloc_0(i64)

declare void @__asan_stack_free_0(i64, i64)

declare i64 @__asan_stack_malloc_1(i64)

declare void @__asan_stack_free_1(i64, i64)

declare i64 @__asan_stack_malloc_2(i64)

declare void @__asan_stack_free_2(i64, i64)

declare i64 @__asan_stack_malloc_3(i64)

declare void @__asan_stack_free_3(i64, i64)

declare i64 @__asan_stack_malloc_4(i64)

declare void @__asan_stack_free_4(i64, i64)

declare i64 @__asan_stack_malloc_5(i64)

declare void @__asan_stack_free_5(i64, i64)

declare i64 @__asan_stack_malloc_6(i64)

declare void @__asan_stack_free_6(i64, i64)

declare i64 @__asan_stack_malloc_7(i64)

declare void @__asan_stack_free_7(i64, i64)

declare i64 @__asan_stack_malloc_8(i64)

declare void @__asan_stack_free_8(i64, i64)

declare i64 @__asan_stack_malloc_9(i64)

declare void @__asan_stack_free_9(i64, i64)

declare i64 @__asan_stack_malloc_10(i64)

declare void @__asan_stack_free_10(i64, i64)

declare void @__asan_poison_stack_memory(i64, i64)

declare void @__asan_unpoison_stack_memory(i64, i64)

declare void @__asan_set_shadow_00(i64, i64)

declare void @__asan_set_shadow_f1(i64, i64)

declare void @__asan_set_shadow_f2(i64, i64)

declare void @__asan_set_shadow_f3(i64, i64)

declare void @__asan_set_shadow_f5(i64, i64)

declare void @__asan_set_shadow_f8(i64, i64)

declare void @__asan_alloca_poison(i64, i64)

declare void @__asan_allocas_unpoison(i64, i64)

declare void @__asan_before_dynamic_init(i64)

declare void @__asan_after_dynamic_init()

declare void @__asan_register_globals(i64, i64)

declare void @__asan_unregister_globals(i64, i64)

declare void @__asan_register_image_globals(i64)

declare void @__asan_unregister_image_globals(i64)

declare void @__asan_register_elf_globals(i64, i64, i64)

declare void @__asan_unregister_elf_globals(i64, i64, i64)

declare void @__asan_init()

define internal void @asan.module_ctor() comdat {
  call void @__asan_init()
  call void @__asan_version_mismatch_check_v8()
  call void @__asan_register_elf_globals(i64 ptrtoint (i64* @___asan_globals_registered to i64), i64 ptrtoint (i64* @__start_asan_globals to i64), i64 ptrtoint (i64* @__stop_asan_globals to i64))
  ret void
}

declare void @__asan_version_mismatch_check_v8()

define internal void @asan.module_dtor() comdat {
  call void @__asan_unregister_elf_globals(i64 ptrtoint (i64* @___asan_globals_registered to i64), i64 ptrtoint (i64* @__start_asan_globals to i64), i64 ptrtoint (i64* @__stop_asan_globals to i64))
  ret void
}

attributes #0 = { nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #1 = { inlinehint nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #2 = { nounwind readnone speculatable willreturn }
attributes #3 = { argmemonly nounwind willreturn }
attributes #4 = { nounwind nonlazybind sanitize_address uwtable "target-cpu"="x86-64" }
attributes #5 = { nonlazybind sanitize_address "target-cpu"="x86-64" }

!llvm.module.flags = !{!20, !21, !22, !23}
!llvm.dbg.cu = !{!24}

!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "vtable", scope: null, file: !2, type: !3, isLocal: true, isDefinition: true)
!2 = !DIFile(filename: "<unknown>", directory: "")
!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "vtable", file: !2, align: 64, flags: DIFlagArtificial, elements: !4, vtableHolder: !5, identifier: "vtable")
!4 = !{}
!5 = !DICompositeType(tag: DW_TAG_structure_type, name: "closure-0", scope: !6, file: !2, size: 64, align: 64, elements: !9, templateParams: !4, identifier: "30e6ecfd0796128d83149dc1f9ab4ee3")
!6 = !DINamespace(name: "lang_start", scope: !7)
!7 = !DINamespace(name: "rt", scope: !8)
!8 = !DINamespace(name: "std", scope: null)
!9 = !{!10}
!10 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !5, file: !2, baseType: !11, size: 64, align: 64)
!11 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn()", baseType: !12, size: 64, align: 64, dwarfAddressSpace: 0)
!12 = !DISubroutineType(types: !13)
!13 = !{null}
!14 = !{{ { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }, [48 x i8] }* @vtable.0}
!15 = !{{ <{ [25 x i8] }>, [39 x i8] }* @alloc1}
!16 = !{{ <{ i8*, [8 x i8] }>, [48 x i8] }* @alloc2}
!17 = !{{ <{ i8*, [0 x i8] }>, [56 x i8] }* @___asan_gen__anon_global}
!18 = !{{ <{ [0 x i8] }>, [32 x i8] }* @alloc6}
!19 = !{{ <{ i8*, [0 x i8] }>, [56 x i8] }* @___asan_gen__anon_global.13}
!20 = !{i32 7, !"PIC Level", i32 2}
!21 = !{i32 7, !"PIE Level", i32 2}
!22 = !{i32 2, !"RtLibUseGOT", i32 1}
!23 = !{i32 2, !"Debug Info Version", i32 3}
!24 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !25, producer: "clang LLVM (rustc version 1.46.0-nightly (feb3536eb 2020-06-09))", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !26, globals: !43)
!25 = !DIFile(filename: "src/empty.rs", directory: "/home/vagrant/proj/rust/mycode/rust_test")
!26 = !{!27, !38}
!27 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Alignment", scope: !28, file: !2, baseType: !32, size: 8, align: 8, flags: DIFlagEnumClass, elements: !33)
!28 = !DINamespace(name: "v1", scope: !29)
!29 = !DINamespace(name: "rt", scope: !30)
!30 = !DINamespace(name: "fmt", scope: !31)
!31 = !DINamespace(name: "core", scope: null)
!32 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned)
!33 = !{!34, !35, !36, !37}
!34 = !DIEnumerator(name: "Left", value: 0)
!35 = !DIEnumerator(name: "Right", value: 1)
!36 = !DIEnumerator(name: "Center", value: 2)
!37 = !DIEnumerator(name: "Unknown", value: 3)
!38 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !39, file: !2, baseType: !32, size: 8, align: 8, flags: DIFlagEnumClass, elements: !40)
!39 = !DINamespace(name: "result", scope: !31)
!40 = !{!41, !42}
!41 = !DIEnumerator(name: "Ok", value: 0)
!42 = !DIEnumerator(name: "Err", value: 1)
!43 = !{!0}
!44 = distinct !DISubprogram(name: "lang_start<()>", linkageName: "_ZN3std2rt10lang_start17h15e9f32ee4291f46E", scope: !7, file: !45, line: 62, type: !46, scopeLine: 62, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !55, retainedNodes: !51)
!45 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs", directory: "", checksumkind: CSK_MD5, checksum: "580128330782ec7d1bbdaeb3149adfa0")
!46 = !DISubroutineType(types: !47)
!47 = !{!48, !11, !48, !49}
!48 = !DIBasicType(name: "isize", size: 64, encoding: DW_ATE_signed)
!49 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const *const u8", baseType: !50, size: 64, align: 64, dwarfAddressSpace: 0)
!50 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !32, size: 64, align: 64, dwarfAddressSpace: 0)
!51 = !{!52, !53, !54}
!52 = !DILocalVariable(name: "main", arg: 1, scope: !44, file: !45, line: 63, type: !11)
!53 = !DILocalVariable(name: "argc", arg: 2, scope: !44, file: !45, line: 64, type: !48)
!54 = !DILocalVariable(name: "argv", arg: 3, scope: !44, file: !45, line: 65, type: !49)
!55 = !{!56}
!56 = !DITemplateTypeParameter(name: "T", type: !57)
!57 = !DIBasicType(name: "()", encoding: DW_ATE_unsigned)
!58 = !DILocation(line: 63, column: 5, scope: !44)
!59 = !DILocation(line: 64, column: 5, scope: !44)
!60 = !DILocation(line: 65, column: 5, scope: !44)
!61 = !DILocation(line: 67, column: 26, scope: !44)
!62 = !DILocation(line: 67, column: 25, scope: !44)
!63 = !DILocation(line: 67, column: 5, scope: !44)
!64 = !DILocation(line: 68, column: 1, scope: !44)
!65 = !DILocation(line: 68, column: 2, scope: !44)
!66 = distinct !DISubprogram(name: "{{closure}}<()>", linkageName: "_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E", scope: !6, file: !45, line: 67, type: !67, scopeLine: 67, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !55, retainedNodes: !71)
!67 = !DISubroutineType(types: !68)
!68 = !{!69, !70}
!69 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
!70 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&closure-0", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 0)
!71 = !{!72}
!72 = !DILocalVariable(name: "main", scope: !66, file: !45, line: 63, type: !11, align: 8)
!73 = !DILocation(line: 63, column: 5, scope: !66)
!74 = !DILocation(line: 67, column: 34, scope: !66)
!75 = !DILocation(line: 67, column: 49, scope: !66)
!76 = distinct !DISubprogram(name: "as_i32", linkageName: "_ZN3std3sys4unix7process14process_common8ExitCode6as_i3217h399529eb8c2b9b12E", scope: !78, file: !77, line: 398, type: !85, scopeLine: 398, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !4, retainedNodes: !88)
!77 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/sys/unix/process/process_common.rs", directory: "", checksumkind: CSK_MD5, checksum: "620f5402e8ba314453e210d5cb93d802")
!78 = !DICompositeType(tag: DW_TAG_structure_type, name: "ExitCode", scope: !79, file: !2, size: 8, align: 8, elements: !83, templateParams: !4, identifier: "904fd8e0e1db8d48b830536eea7f523e")
!79 = !DINamespace(name: "process_common", scope: !80)
!80 = !DINamespace(name: "process", scope: !81)
!81 = !DINamespace(name: "unix", scope: !82)
!82 = !DINamespace(name: "sys", scope: !8)
!83 = !{!84}
!84 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !78, file: !2, baseType: !32, size: 8, align: 8)
!85 = !DISubroutineType(types: !86)
!86 = !{!69, !87}
!87 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::sys::unix::process::process_common::ExitCode", baseType: !78, size: 64, align: 64, dwarfAddressSpace: 0)
!88 = !{!89}
!89 = !DILocalVariable(name: "self", arg: 1, scope: !76, file: !77, line: 398, type: !87)
!90 = !DILocation(line: 398, column: 19, scope: !76)
!91 = !DILocation(line: 399, column: 9, scope: !76)
!92 = !{!"branch_weights", i32 1, i32 100000}
!93 = !DILocation(line: 400, column: 6, scope: !76)
!94 = distinct !DISubprogram(name: "new_v1", linkageName: "_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E", scope: !96, file: !95, line: 327, type: !203, scopeLine: 327, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !4, retainedNodes: !205)
!95 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/fmt/mod.rs", directory: "", checksumkind: CSK_MD5, checksum: "d51e9a53dcfda96bc5d8d2f208c290b9")
!96 = !DICompositeType(tag: DW_TAG_structure_type, name: "Arguments", scope: !30, file: !2, size: 384, align: 64, elements: !97, templateParams: !4, identifier: "6e6ef8caea430a23fadd175c559bc8e4")
!97 = !{!98, !109, !158}
!98 = !DIDerivedType(tag: DW_TAG_member, name: "pieces", scope: !96, file: !2, baseType: !99, size: 128, align: 64)
!99 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[&str]", file: !2, size: 128, align: 64, elements: !100, templateParams: !4, identifier: "e5181a2ba73cefd2b9372dc5646453a9")
!100 = !{!101, !108}
!101 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !99, file: !2, baseType: !102, size: 64, align: 64)
!102 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const &str", baseType: !103, size: 64, align: 64, dwarfAddressSpace: 0)
!103 = !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !2, size: 128, align: 64, elements: !104, templateParams: !4, identifier: "7ef2a91eecc7bcf4b4aaea2dbce79437")
!104 = !{!105, !106}
!105 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !103, file: !2, baseType: !50, size: 64, align: 64)
!106 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !103, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!107 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
!108 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !99, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!109 = !DIDerivedType(tag: DW_TAG_member, name: "fmt", scope: !96, file: !2, baseType: !110, size: 128, align: 64, offset: 128)
!110 = !DICompositeType(tag: DW_TAG_structure_type, name: "Option<&[core::fmt::rt::v1::Argument]>", scope: !111, file: !2, size: 128, align: 64, elements: !112, identifier: "4c4e7ce97b241d8f1f0976510706f590")
!111 = !DINamespace(name: "option", scope: !31)
!112 = !{!113}
!113 = !DICompositeType(tag: DW_TAG_variant_part, scope: !111, file: !2, size: 128, align: 64, elements: !114, templateParams: !117, identifier: "4c4e7ce97b241d8f1f0976510706f590_variant_part", discriminator: !157)
!114 = !{!115, !153}
!115 = !DIDerivedType(tag: DW_TAG_member, name: "None", scope: !113, file: !2, baseType: !116, size: 128, align: 64, extraData: i64 0)
!116 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !110, file: !2, size: 128, align: 64, elements: !4, templateParams: !117, identifier: "4c4e7ce97b241d8f1f0976510706f590::None")
!117 = !{!118}
!118 = !DITemplateTypeParameter(name: "T", type: !119)
!119 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::rt::v1::Argument]", file: !2, size: 128, align: 64, elements: !120, templateParams: !4, identifier: "71eeae0474d7f7b239ed91fc47f9d3a4")
!120 = !{!121, !152}
!121 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !119, file: !2, baseType: !122, size: 64, align: 64)
!122 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::rt::v1::Argument", baseType: !123, size: 64, align: 64, dwarfAddressSpace: 0)
!123 = !DICompositeType(tag: DW_TAG_structure_type, name: "Argument", scope: !28, file: !2, size: 448, align: 64, elements: !124, templateParams: !4, identifier: "97a2ecc05ee0e0a27388291cc1981c48")
!124 = !{!125, !126}
!125 = !DIDerivedType(tag: DW_TAG_member, name: "position", scope: !123, file: !2, baseType: !107, size: 64, align: 64)
!126 = !DIDerivedType(tag: DW_TAG_member, name: "format", scope: !123, file: !2, baseType: !127, size: 384, align: 64, offset: 64)
!127 = !DICompositeType(tag: DW_TAG_structure_type, name: "FormatSpec", scope: !28, file: !2, size: 384, align: 64, elements: !128, templateParams: !4, identifier: "87e86faef3e70c7728308d50179069cf")
!128 = !{!129, !131, !132, !134, !151}
!129 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !127, file: !2, baseType: !130, size: 32, align: 32, offset: 256)
!130 = !DIBasicType(name: "char", size: 32, encoding: DW_ATE_unsigned_char)
!131 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !127, file: !2, baseType: !27, size: 8, align: 8, offset: 320)
!132 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !127, file: !2, baseType: !133, size: 32, align: 32, offset: 288)
!133 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
!134 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !127, file: !2, baseType: !135, size: 128, align: 64)
!135 = !DICompositeType(tag: DW_TAG_structure_type, name: "Count", scope: !28, file: !2, size: 128, align: 64, elements: !136, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f")
!136 = !{!137}
!137 = !DICompositeType(tag: DW_TAG_variant_part, scope: !28, file: !2, size: 128, align: 64, elements: !138, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f_variant_part", discriminator: !149)
!138 = !{!139, !143, !147}
!139 = !DIDerivedType(tag: DW_TAG_member, name: "Is", scope: !137, file: !2, baseType: !140, size: 128, align: 64, extraData: i64 0)
!140 = !DICompositeType(tag: DW_TAG_structure_type, name: "Is", scope: !135, file: !2, size: 128, align: 64, elements: !141, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f::Is")
!141 = !{!142}
!142 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !140, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!143 = !DIDerivedType(tag: DW_TAG_member, name: "Param", scope: !137, file: !2, baseType: !144, size: 128, align: 64, extraData: i64 1)
!144 = !DICompositeType(tag: DW_TAG_structure_type, name: "Param", scope: !135, file: !2, size: 128, align: 64, elements: !145, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f::Param")
!145 = !{!146}
!146 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !144, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!147 = !DIDerivedType(tag: DW_TAG_member, name: "Implied", scope: !137, file: !2, baseType: !148, size: 128, align: 64, extraData: i64 2)
!148 = !DICompositeType(tag: DW_TAG_structure_type, name: "Implied", scope: !135, file: !2, size: 128, align: 64, elements: !4, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f::Implied")
!149 = !DIDerivedType(tag: DW_TAG_member, scope: !28, file: !2, baseType: !150, size: 64, align: 64, flags: DIFlagArtificial)
!150 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
!151 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !127, file: !2, baseType: !135, size: 128, align: 64, offset: 128)
!152 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !119, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!153 = !DIDerivedType(tag: DW_TAG_member, name: "Some", scope: !113, file: !2, baseType: !154, size: 128, align: 64)
!154 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !110, file: !2, size: 128, align: 64, elements: !155, templateParams: !117, identifier: "4c4e7ce97b241d8f1f0976510706f590::Some")
!155 = !{!156}
!156 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !154, file: !2, baseType: !119, size: 128, align: 64)
!157 = !DIDerivedType(tag: DW_TAG_member, scope: !111, file: !2, baseType: !150, size: 64, align: 64, flags: DIFlagArtificial)
!158 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !96, file: !2, baseType: !159, size: 128, align: 64, offset: 256)
!159 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::ArgumentV1]", file: !2, size: 128, align: 64, elements: !160, templateParams: !4, identifier: "7a35ee309ed86080b6b92be07245264f")
!160 = !{!161, !202}
!161 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !159, file: !2, baseType: !162, size: 64, align: 64)
!162 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::ArgumentV1", baseType: !163, size: 64, align: 64, dwarfAddressSpace: 0)
!163 = !DICompositeType(tag: DW_TAG_structure_type, name: "ArgumentV1", scope: !30, file: !2, size: 128, align: 64, elements: !164, templateParams: !4, identifier: "abbf711f5a27fb4ab3f51044eabcb5b9")
!164 = !{!165, !168}
!165 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !163, file: !2, baseType: !166, size: 64, align: 64)
!166 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::fmt::::Opaque", baseType: !167, size: 64, align: 64, dwarfAddressSpace: 0)
!167 = !DICompositeType(tag: DW_TAG_structure_type, name: "Opaque", file: !2, align: 8, elements: !4, identifier: "933c26e667514c2ab87e217ed594690f")
!168 = !DIDerivedType(tag: DW_TAG_member, name: "formatter", scope: !163, file: !2, baseType: !169, size: 64, align: 64, offset: 64)
!169 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&core::fmt::::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !170, size: 64, align: 64, dwarfAddressSpace: 0)
!170 = !DISubroutineType(types: !171)
!171 = !{!38, !166, !172}
!172 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::fmt::Formatter", baseType: !173, size: 64, align: 64, dwarfAddressSpace: 0)
!173 = !DICompositeType(tag: DW_TAG_structure_type, name: "Formatter", scope: !30, file: !2, size: 512, align: 64, elements: !174, templateParams: !4, identifier: "2b32fc1687cf03f460fc267e83d13f62")
!174 = !{!175, !176, !177, !178, !191, !192}
!175 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !173, file: !2, baseType: !133, size: 32, align: 32, offset: 384)
!176 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !173, file: !2, baseType: !130, size: 32, align: 32, offset: 416)
!177 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !173, file: !2, baseType: !27, size: 8, align: 8, offset: 448)
!178 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !173, file: !2, baseType: !179, size: 128, align: 64)
!179 = !DICompositeType(tag: DW_TAG_structure_type, name: "Option<usize>", scope: !111, file: !2, size: 128, align: 64, elements: !180, identifier: "c571b0abf319dfa9e93716c0e8f74925")
!180 = !{!181}
!181 = !DICompositeType(tag: DW_TAG_variant_part, scope: !111, file: !2, size: 128, align: 64, elements: !182, templateParams: !185, identifier: "c571b0abf319dfa9e93716c0e8f74925_variant_part", discriminator: !157)
!182 = !{!183, !187}
!183 = !DIDerivedType(tag: DW_TAG_member, name: "None", scope: !181, file: !2, baseType: !184, size: 128, align: 64, extraData: i64 0)
!184 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !179, file: !2, size: 128, align: 64, elements: !4, templateParams: !185, identifier: "c571b0abf319dfa9e93716c0e8f74925::None")
!185 = !{!186}
!186 = !DITemplateTypeParameter(name: "T", type: !107)
!187 = !DIDerivedType(tag: DW_TAG_member, name: "Some", scope: !181, file: !2, baseType: !188, size: 128, align: 64, extraData: i64 1)
!188 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !179, file: !2, size: 128, align: 64, elements: !189, templateParams: !185, identifier: "c571b0abf319dfa9e93716c0e8f74925::Some")
!189 = !{!190}
!190 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !188, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!191 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !173, file: !2, baseType: !179, size: 128, align: 64, offset: 128)
!192 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !173, file: !2, baseType: !193, size: 128, align: 64, offset: 256)
!193 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut Write", scope: !30, file: !2, size: 128, align: 64, elements: !194, templateParams: !4, identifier: "50c81d7df1720d3afbc054cf5b7553f9")
!194 = !{!195, !197}
!195 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !193, file: !2, baseType: !196, size: 64, align: 64, flags: DIFlagArtificial)
!196 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut u8", baseType: !32, size: 64, align: 64, dwarfAddressSpace: 0)
!197 = !DIDerivedType(tag: DW_TAG_member, name: "vtable", scope: !193, file: !2, baseType: !198, size: 64, align: 64, offset: 64, flags: DIFlagArtificial)
!198 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[usize; 3]", baseType: !199, size: 64, align: 64, dwarfAddressSpace: 0)
!199 = !DICompositeType(tag: DW_TAG_array_type, baseType: !107, size: 192, align: 64, elements: !200)
!200 = !{!201}
!201 = !DISubrange(count: 3)
!202 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !159, file: !2, baseType: !107, size: 64, align: 64, offset: 64)
!203 = !DISubroutineType(types: !204)
!204 = !{!96, !99, !159}
!205 = !{!206, !207}
!206 = !DILocalVariable(name: "pieces", arg: 1, scope: !94, file: !95, line: 327, type: !99)
!207 = !DILocalVariable(name: "args", arg: 2, scope: !94, file: !95, line: 327, type: !159)
!208 = !DILocation(line: 327, column: 42, scope: !94)
!209 = !DILocation(line: 327, column: 19, scope: !94)
!210 = !DILocation(line: 328, column: 34, scope: !94)
!211 = !DILocation(line: 328, column: 9, scope: !94)
!212 = !DILocation(line: 328, column: 45, scope: !94)
!213 = !DILocation(line: 329, column: 6, scope: !94)
!214 = distinct !DISubprogram(name: "call_once<closure-0,()>", linkageName: "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb0c85d0849a149d8E", scope: !216, file: !215, line: 232, type: !219, scopeLine: 232, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !225, retainedNodes: !222)
!215 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs", directory: "", checksumkind: CSK_MD5, checksum: "4e38de05081e36b7316ccfac06754856")
!216 = !DINamespace(name: "FnOnce", scope: !217)
!217 = !DINamespace(name: "function", scope: !218)
!218 = !DINamespace(name: "ops", scope: !31)
!219 = !DISubroutineType(types: !220)
!220 = !{!69, !221}
!221 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut closure-0", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 0)
!222 = !{!223, !224}
!223 = !DILocalVariable(arg: 1, scope: !214, file: !215, line: 232, type: !221)
!224 = !DILocalVariable(arg: 2, scope: !214, file: !215, line: 232, type: !57)
!225 = !{!226, !227}
!226 = !DITemplateTypeParameter(name: "Self", type: !5)
!227 = !DITemplateTypeParameter(name: "Args", type: !57)
!228 = !DILocation(line: 232, column: 5, scope: !214)
!229 = distinct !DISubprogram(name: "call_once<closure-0,()>", linkageName: "_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE", scope: !216, file: !215, line: 232, type: !230, scopeLine: 232, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !225, retainedNodes: !232)
!230 = !DISubroutineType(types: !231)
!231 = !{!69, !5}
!232 = !{!233, !234}
!233 = !DILocalVariable(arg: 1, scope: !229, file: !215, line: 232, type: !5)
!234 = !DILocalVariable(arg: 2, scope: !229, file: !215, line: 232, type: !57)
!235 = !DILocation(line: 232, column: 5, scope: !229)
!236 = distinct !DISubprogram(name: "drop_in_place<closure-0>", linkageName: "_ZN4core3ptr13drop_in_place17h0074fb083e6c4e6eE", scope: !238, file: !237, line: 184, type: !239, scopeLine: 184, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !243, retainedNodes: !241)
!237 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ptr/mod.rs", directory: "", checksumkind: CSK_MD5, checksum: "3a5ba522fe2039fe5996ec730d3af763")
!238 = !DINamespace(name: "ptr", scope: !31)
!239 = !DISubroutineType(types: !240)
!240 = !{null, !221}
!241 = !{!242}
!242 = !DILocalVariable(arg: 1, scope: !236, file: !237, line: 184, type: !221)
!243 = !{!244}
!244 = !DITemplateTypeParameter(name: "T", type: !5)
!245 = !DILocation(line: 184, column: 1, scope: !236)
!246 = distinct !DISubprogram(name: "report", linkageName: "_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17hf578ed44384d1e36E", scope: !248, file: !247, line: 1667, type: !250, scopeLine: 1667, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !4, retainedNodes: !252)
!247 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/process.rs", directory: "", checksumkind: CSK_MD5, checksum: "bfa554ca649d4c8c8d446b86ff55b4bf")
!248 = !DINamespace(name: "{{impl}}", scope: !249)
!249 = !DINamespace(name: "process", scope: !8)
!250 = !DISubroutineType(types: !251)
!251 = !{!69, !57}
!252 = !{!253}
!253 = !DILocalVariable(name: "self", arg: 1, scope: !246, file: !247, line: 1667, type: !57)
!254 = !DILocation(line: 1667, column: 15, scope: !246)
!255 = !DILocation(line: 1668, column: 9, scope: !246)
!256 = !DILocation(line: 1669, column: 6, scope: !246)
!257 = distinct !DISubprogram(name: "report", linkageName: "_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE", scope: !248, file: !247, line: 1701, type: !258, scopeLine: 1701, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !24, templateParams: !4, retainedNodes: !263)
!258 = !DISubroutineType(types: !259)
!259 = !{!69, !260}
!260 = !DICompositeType(tag: DW_TAG_structure_type, name: "ExitCode", scope: !249, file: !2, size: 8, align: 8, elements: !261, templateParams: !4, identifier: "9b5e6453961b0743a8ecfab92535235c")
!261 = !{!262}
!262 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !260, file: !2, baseType: !78, size: 8, align: 8)
!263 = !{!264}
!264 = !DILocalVariable(name: "self", arg: 1, scope: !257, file: !247, line: 1701, type: !260)
!265 = !DILocation(line: 1701, column: 15, scope: !257)
!266 = !DILocation(line: 1702, column: 9, scope: !257)
!267 = !DILocation(line: 1703, column: 6, scope: !257)
!268 = distinct !DISubprogram(name: "main", linkageName: "_ZN5empty4main17hcfd8d79313798e06E", scope: !270, file: !269, line: 2, type: !12, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagMainSubprogram, unit: !24, templateParams: !4, retainedNodes: !4)
!269 = !DIFile(filename: "src/empty.rs", directory: "/home/vagrant/proj/rust/mycode/rust_test", checksumkind: CSK_MD5, checksum: "956b7e8be030416b72323bb5c43ebcc2")
!270 = !DINamespace(name: "empty", scope: null)
!271 = !DILocation(line: 3, column: 5, scope: !268)
!272 = !DILocation(line: 3, column: 14, scope: !268)
!273 = !DILocation(line: 4, column: 2, scope: !274)
!274 = !DILexicalBlockFile(scope: !268, file: !269, discriminator: 0)
